Galerkin 방법
Galerkin 방법 (Galerkin Method)
1. 개요
Galerkin 방법은 미분 방정식의 근사해를 구하기 위해 연속적인 함수 공간을 유한 차원의 부분 공간으로 투영하여, 미분 방정식을 대수 방정식(Algebraic Equation) 시스템으로 변환하는 수치해석적 기법이다. 이 방법은 특히 편미분 방정식(PDE)을 풀기 위한 가중 잔차법(Method of Weighted Residuals)의 특수한 형태로, 잔차(Residual)가 선택된 시험 함수(Test function)들과 직교한다는 조건을 이용하여 최적의 근사해를 도출한다.
2. 수학적 원리 및 작동 방식
2.1 가중 잔차법 (Method of Weighted Residuals)
미분 방정식 $L(u) = f$가 주어졌을 때, 우리가 구하고자 하는 정확한 해를 $u$라고 하자. 실제 계산에서 사용하는 근사해를 $\hat{u}$라고 하면, 이를 방정식에 대입했을 때 발생하는 오차를 잔차(Residual, $R$)라고 정의한다. $$R(\mathbf{x}) = L(\hat{u}) - f$$ Galerkin 방법의 핵심은 이 잔차 $R(\mathbf{x})$를 전체 영역 $\Omega$에서 최소화하는 것이다. 이를 위해 가중 함수(Weighting function) $w_i(\mathbf{x})$를 도입하여 다음의 직교성 조건을 만족시킨다. $$\int_{\Omega} w_i(\mathbf{x}) R(\mathbf{x}) \, d\Omega = 0, \quad i = 1, 2, \dots, N$$
2.2 기저 함수와 시험 함수의 선택
근사해 $\hat{u}$는 미리 정의된 $N$개의 기저 함수(Basis function, $\phi_j$)의 선형 결합으로 표현된다. $$\hat{u}(\mathbf{x}) = \sum_{j=1}^{N} c_j \phi_j(\mathbf{x})$$ 여기서 $c_j$는 우리가 찾아야 할 미지 계수이다. Galerkin 방법의 결정적인 특징은 시험 함수(Test function, $w_i$)를 기저 함수($\phi_j$)와 동일하게 설정한다는 점이다. 즉, $w_i = \phi_i$이다.
3. 알고리즘 단계 (Step-by-Step)
Galerkin 방법의 표준적인 계산 절차는 다음과 같다.
- 강형(Strong form) 정의: 원래의 미분 방정식과 경계 조건을 정의한다.
- 약형(Weak form) 도출: 방정식의 양변에 시험 함수 $w$를 곱하고 영역 전체에 대해 적분한다. 이때 부분 적분(Integration by parts)을 통해 미분 차수를 낮추어 요구되는 연속성 조건을 완화한다. 이 과정에서 경계 조건의 처리가 이루어지는데, Dirichlet 경계 조건(필수 경계 조건)은 함수 공간의 정의를 통해 강제하고, Neumann 경계 조건(자연 경계 조건)은 적분식의 경계항에 자연스럽게 포함된다.
- 기저 함수 설정: 해 공간을 근사할 수 있는 적절한 함수 $\phi_j$를 선택하고 근사해 $\hat{u}$를 정의한다.
- 행렬 방정식 구성: 약형에 $\hat{u}$를 대입하여 계수 $c_j$에 대한 선형 연립 방정식 $\mathbf{K}\mathbf{c} = \mathbf{F}$ 형태(Stiffness Matrix)로 변환한다.
- 계수 결정: 행렬 연산을 통해 $c_j$를 구하고 최종 근사해 $\hat{u}$를 구성한다.
[표 1] 강형(Strong form)과 약형(Weak form)의 비교
| 구분 | 강형 (Strong Form) | 약형 (Weak Form) |
|---|---|---|
| 정의 | 모든 점에서 미분 방정식이 정확히 성립 | 가중 평균된 의미에서 방정식이 성립 |
| 미분 요구도 | 고차 미분 가능성(Continuity) 필요 | 부분 적분을 통해 낮은 차수 미분으로 완화 |
| 경계 조건 | 필수적으로 엄격하게 적용 | 자연 경계 조건(Natural BC)이 적분식에 포함됨 |
| 수치적 구현 | 직접적인 이산화가 어려움 | 적분 기반으로 유한요소법 구현에 적합 |
4. 유한요소법(FEM)과의 관계
Galerkin 방법은 현대 유한요소법(Finite Element Method, FEM)의 수학적 토대이다. 두 방법의 핵심적인 차이는 기저 함수의 범위(Support)에 있다.
- 전역적 근사 (Global Approximation) $\rightarrow$ 스펙트럼 방법(Spectral Method): 전체 영역 $\Omega$에서 정의된 전역 함수(예: 다항식, 삼각함수)를 사용한다. 이는 단순한 문제에는 효율적이나 복잡한 형상에서는 수렴 속도가 느리다.
- 국부적 근사 (Local Approximation) $\rightarrow$ 유한요소법(FEM): 영역을 작은 요소(Element)로 나누고, 각 요소 내에서만 정의되는 국부적 기저 함수(Shape function)를 사용한다. 이는 Galerkin 방법을 국부적으로 적용한 것으로, 복잡한 기하학적 구조를 매우 유연하게 처리할 수 있게 한다.
[근사 방식 비교 도식] - 전역적 근사: $\text{Domain } \Omega \xrightarrow{\text{Global Basis } \phi_i} \text{Single Approximation } \hat{u}$ - 국부적 근사: $\text{Domain } \Omega \rightarrow \text{Elements } \{e_1, e_2, \dots, e_n\} \xrightarrow{\text{Local Basis } \phi_{i,e}} \text{Piecewise Approximation } \hat{u}$
5. Petrov-Galerkin 방법
표준 Galerkin 방법은 시험 함수와 기저 함수가 동일($w_i = \phi_i$)하지만, 특정 문제(예: 대류-확산 방정식)에서는 수치적 불안정성이 발생한다. 이를 해결하기 위해 Petrov-Galerkin 방법이 도입되었다.
Petrov-Galerkin 방법은 시험 함수 공간과 기저 함수 공간을 서로 다르게 설정하는 기법이다 ($w_i \neq \phi_i$). * 목적: 대류(Advection)가 지배적인 문제에서 발생하는 수치적 진동(Oscillation)을 억제하기 위함이다. * 작동 방식: 시험 함수에 상류(Upwind) 방향의 가중치를 주는 'SUPG(Streamline Upwind/Petrov-Galerkin)' 기법 등이 대표적이며, 이를 통해 해의 안정성을 확보한다.
6. 수렴성 및 수학적 정리
Galerkin 방법의 수렴성은 주로 Céa의 정리(Céa's Lemma)를 통해 증명된다.
Céa의 정리
타원형 편미분 방정식의 약형이 연속적(Continuous)이고 강압적(Coercive)인 쌍선형 형식(Bilinear form) $a(u, v)$로 표현될 때, 정확한 해 $u$와 Galerkin 근사해 $u_h$ 사이의 오차는 다음과 같다. $$\|u - u_h\|_V \le \frac{C}{\alpha} \inf_{v_h \in V_h} \|u - v_h\|_V$$ (여기서 $C$는 연속성 상수, $\alpha$는 강압성 상수, $V_h$는 유한 차원 부분 공간이다.)
결론: 이 정리는 Galerkin 방법으로 구한 근사해 $u_h$가 선택한 부분 공간 $V_h$ 내에 존재하는 모든 가능한 함수 $v_h$ 중에서 정확한 해 $u$와의 거리를 최소화하는 최적 근사(Best Approximation)임을 수학적으로 보장한다. 즉, 기저 함수의 수를 늘려 공간 $V_h$를 확장하면 근사해는 반드시 정확한 해로 수렴하게 된다.
7. 장단점 및 한계
장점
- 최적성: 에너지 노름(Energy norm) 관점에서 오차가 최소화되는 최적해를 제공한다.
- 유연성: 기저 함수만 적절히 선택하면 다양한 물리 문제에 적용 가능하다.
- 수학적 견고함: 수렴성과 안정성에 대한 이론적 증명이 잘 확립되어 있다.
단점 및 한계
- 수치적 진동: 대류-확산 문제와 같이 비대칭 연산자가 포함된 경우, 해의 급격한 변화(충격파, 경계층) 부근에서 Gibbs 현상과 유사한 수치적 진동이 발생한다.
- 계산 비용: 기저 함수의 수가 증가함에 따라 구성해야 할 행렬의 크기가 커져 메모리와 계산 시간이 증가한다.
8. 다른 가중 잔차법과의 비교
| 방법 | 시험 함수 $w_i$의 특징 | 주요 특징 및 용도 |
|---|---|---|
| Collocation | 디락 델타 함수 $\delta(x - x_i)$ | 특정 지점에서 잔차를 0으로 만듦. 구현이 매우 간단함. |
| Least Squares | 잔차의 제곱에 비례 $\frac{\partial R}{\partial c_j}$ | 잔차의 제곱 합을 최소화. 항상 대칭 행렬을 생성함. |
| Galerkin | 기저 함수와 동일 $\phi_i$ | 에너지 최소화 관점. FEM의 표준 이론. |
| Petrov-Galerkin | 기저 함수와 다름 $w_i \neq \phi_i$ | 대류 지배 문제의 안정성 확보 (Upwinding). |
9. 활용 예시 및 응용 분야
1차원 Poisson 방정식 예제
가장 대표적인 예시인 1차원 Poisson 방정식 $-u''(x) = f(x)$ (경계 조건 $u(0)=u(1)=0$)에 Galerkin 방법을 적용하면 다음과 같다.
- 약형 도출: 시험 함수 $w$를 곱하고 적분한다. $$\int_0^1 -u''(x)w(x) \, dx = \int_0^1 f(x)w(x) \, dx$$
-
부분 적분 적용: $$\int_0^1 u'(x)w'(x) \, dx - [u'(x)w(x)]_0^1 = \int_0^1 f(x)w(x) \, dx$$ 경계 조건에 의해 $w(0)=w(1)=0$이므로 경계항은 사라지며, 최종 약형은 $\int_0^1 u'w' \, dx = \int_0^1 fw \, dx$가 된다.
-
구조 역학: 보(Beam)나 판(Plate)의 변형 해석 시 변위 함수를 기저 함수로 설정하여 응력 분석에 활용.
- 열전달 분석: 전도 및 대류 방정식의 약형을 도출하여 온도 분포 계산.
- 유체 역학: Navier-Stokes 방정식의 수치적 해법으로 사용 (단, 안정성을 위해 Petrov-Galerkin 변형 사용).
[코드 예시] Python을 이용한 1차원 경계값 문제 근사 (Conceptual)
다음은 $-u'' = f$ 형태의 간단한 1차원 문제에 대해 Galerkin 방법을 적용하는 개념적 구조이다.
import numpy as np
from scipy.integrate import quad
# 1. 기저 함수 및 그 도함수 정의
def phi(i, x):
return np.sin((i + 1) * np.pi * x)
def phi_prime(i, x):
return (i + 1) * np.pi * np.cos((i + 1) * np.pi * x)
# 2. 강성 행렬(Stiffness Matrix) K 및 하중 벡터 F 계산
N = 5 # 기저 함수의 수
K = np.zeros((N, N))
F = np.zeros(N)
f_func = lambda x: 1.0 # 소스 항 f(x) = 1
for i in range(N):
for j in range(N):
# 약형: integral(phi_i' * phi_j') dx
integrand_k = lambda x: phi_prime(i, x) * phi_prime(j, x)
K[i, j] = quad(integrand_k, 0, 1)[0]
# 하중 벡터: integral(phi_i * f) dx
integrand_f = lambda x: phi(i, x) * f_func(x)
F[i] = quad(integrand_f, 0, 1)[0]
# 3. 계수 c 결정 (Kc = F)
c = np.linalg.solve(K, F)
# 4. 근사해 u_hat(x) 구성
def u_hat(x):
return sum(c[j] * phi(j, x) for j in range(N))
이 문서는 AI 모델(gemma-4-31b)에 의해 생성된 콘텐츠입니다.
주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.